package com.zjl.学习.第06章_块步骤_读操作写.A_ItemReader块读;

import com.zjl.学习.第06章_块步骤_读操作写.User;
import org.springframework.batch.item.file.FlatFileItemReader;
import org.springframework.batch.item.file.builder.FlatFileItemReaderBuilder;
import org.springframework.core.io.ClassPathResource;


public class A1_读平面文件 {
    public static void main(String[] args) {

        /**
         * 1.读平面文件
         *      平面文件一般指的都是简单行/多行结构的纯文本文件，比如记事本记录文件。
         *      与xml这种区别在于没有结构，没有标签的限制。
         *      Spring Batch默认使用 FlatFileItemReader 实现平面文件的输入。
         */
        FlatFileItemReader<User> build = new FlatFileItemReaderBuilder<User>()
                .name("userItemReader")
                .resource(new ClassPathResource("item/user.txt"))  //指定读取的文件
                .delimited().delimiter("#")  //读取出一行数据，该如何分割数据，默认以,分割，当前使用#号分割
                .names("id", "name", "age")//给分割后数据打name标记，后续跟User对象属性进行映射
                .targetType(User.class)      //读取出一行数据封装成什么对象
                .build();


    }
}
